#ifndef _CRY_SYSTEM_PAK_VARS_HDR_
#define _CRY_SYSTEM_PAK_VARS_HDR_

enum EPakPriority
{
	ePakPriorityFileFirst = 0,
	ePakPriorityPakFirst  = 1,
	ePakPriorityPakOnly   = 2,
	ePakPriorityFileFirstModsOnly = 3,
};

// variables that control behaviour of CryPak/StreamEngine subsystems
struct PakVars
{
	int nSaveLevelResourceList;
	int nLogMissingFiles;
	int nTouchDummyFiles;
	int nLoadCache;
	int nReadSlice;
	int nPriority;
	int nReadAheadCache;
	int nFileAccessLog;
	int nMessageInvalidFileAccess;
	int nValidateFileHashes;
	int nInMemoryPakSizeLimit;
	int nStreamCache;
	int nInMemorySizeLimit;
	int nLogInvalidFileAccess;

	PakVars():nPriority(0),nReadSlice(0), nLogMissingFiles(0), nTouchDummyFiles(0),nInMemorySizeLimit(0),nSaveLevelResourceList(0),nValidateFileHashes(0)
	{
		nInMemorySizeLimit = 6; // 6 Megabytes limit
		nReadAheadCache = 0;   // 10 Mbytes default read ahead cache
		nInMemoryPakSizeLimit = 8; // Megabytes

		nLoadCache = 1;         // Load in memory paks from _FastLoad folder
		nStreamCache = 1;       // Load in memory paks for faster streaming (cgf_cache.pak,dds_cache.pak)

		nFileAccessLog = 0;     // File access log disabled by default.




	
#ifndef _RELEASE
		nPriority  = ePakPriorityFileFirst;
#else // #ifndef _RELEASE
		//nPriority  = ePakPriorityFileFirstModsOnly; // Only read from pak files by default
		nPriority  = ePakPriorityFileFirst;
#endif // #ifndef _RELEASE


		nMessageInvalidFileAccess = 0;
#ifndef _RELEASE
		nLogInvalidFileAccess = 1;
#else
		nLogInvalidFileAccess = 0;
#endif

#if defined(_DEBUG)
		nValidateFileHashes = 1;
#endif
	}
};


#endif
